package controllers;

import play.*;
import play.data.validation.Required;
import play.db.DB;
import play.mvc.*;

import java.nio.charset.CodingErrorAction;
import java.sql.ResultSet;
import java.util.*;

import models.*;

public class CBairro extends Controller {
	
	public static void cadastrarBairro(long codCidade, String bairro) 
	{
    	//Verifica se o usuario esta logado
		if(session.current().isEmpty())
		{
			//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
			flash.error("usuario não autenticado!");
			Application.login();
		}
		else
		{
			try
			{
				//Cria objeto
				Bairro novoBairro = new Bairro(codCidade, bairro);
				
				if(bairro.equals(""))
				{
					//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
					flash.error("Preencha o nome do bairro!");
					Application.cadastrarBairro(codCidade);
				}
				
				
				//salva objeto no banco
				novoBairro.setBairro(novoBairro.getBairro().trim());
				novoBairro.save();	
				
				Application.bairros(codCidade);	
			}
			catch (Exception e) {
				
				flash.error("Erro ao criar bairro: " + e.getMessage());
				Application.cadastrarBairro(codCidade);
			}
			
		}	
	}
	
	public static void editarBairro(long codCidade, long codBairro)
	{	
		
    	//Verifica se o usuario esta logado
		if(session.current().isEmpty())
		{
			//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
			flash.error("usuario não autenticado!");
			Application.login();
		}
		else
		{
			//Retorna um bairro do banco
			//Bairro bairro = Bairro.listarBairro(codCidade, codBairro);
			Bairro bairro = Bairro.find("codCidade = ? and codBairro = ?",codCidade,codBairro).first();
		
			//captura barrio passado pelo formulaio
			String nomeBairro = request.params.get("bairro");
		
			//verifica se o bairro é vazio 
			if(!nomeBairro.equals(""))
			{
				bairro.setBairro(nomeBairro);
				//bairro.editarBairro(0,nomeBairro);
				bairro.setBairro(bairro.getBairro().trim());
				bairro.save();
			}
			else
			{
				//Dispara mensagem de erro e redireciona para a pagina onde o erro é exibido
				flash.error("Preencha o nome do bairro!");
				Application.editarBairro(codCidade, codBairro);
			}
			
			//redireciona para a pagiana bairros
			Application.bairros(codCidade);
		}
	}

}
